﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using TumbaloSoft.Models;
using IBatisNet.DataMapper;
using System.Collections;

namespace TumbaloSoft.Helpers
{
    public class HelperConvocatoriaJunta
    {
        public static void insert(ConvocatoriaJunta convocatoria)
        {
            Mapper.Instance().Insert("ConvocatoriaJuntaInsert", convocatoria);
        }
        public static List<ConvocatoriaJunta> selectFuturos()
        {
            IList lista = Mapper.Instance().QueryForList("ConvocatoriaJuntaSelectFuturos", null);
            return new List<ConvocatoriaJunta>(lista.Cast<ConvocatoriaJunta>());
        }
        public static List<ConvocatoriaJunta> selectAll()
        {
            IList lista = Mapper.Instance().QueryForList("ConvocatoriaJuntaSelectAll", null);
            return new List<ConvocatoriaJunta>(lista.Cast<ConvocatoriaJunta>());
        }
        public static List<ConvocatoriaJunta> selectByIdEdificio(int idEdificio)
        {
            IList lista = Mapper.Instance().QueryForList("ConvocatoriaJuntaSelectByIdEdificio", idEdificio);
            return new List<ConvocatoriaJunta>(lista.Cast<ConvocatoriaJunta>());
        }
        public static void delete(ConvocatoriaJunta convocatoria)
        {
            Mapper.Instance().Update("ConvocatoriaJuntaDelete", convocatoria);
        }
        public static void update(ConvocatoriaJunta convocatoria)
        {
            ConvocatoriaJunta antigua = HelperConvocatoriaJunta.selectById(convocatoria.prIdReunion);
            if (convocatoria.prFecha == new DateTime()) convocatoria.prFecha = antigua.prFecha;
            if (convocatoria.prEstado == null) convocatoria.prEstado = antigua.prEstado;
            Mapper.Instance().Update("ConvocatoriaJuntaUpdate", convocatoria);
        }
        public static ConvocatoriaJunta selectById(int idReunion)
        {
            IList lista = Mapper.Instance().QueryForList("ConvocatoriaJuntaSelectById", idReunion);
            if (lista.Count == 0) return null;
            ConvocatoriaJunta convocatoria = (ConvocatoriaJunta)(lista[0]);
            convocatoria.prEdificio = HelperEdificio.selectById(convocatoria.prEdificio.prIdEdificio);
            return convocatoria;
        }
        public static int selectMaxCodigo()
        {
            return (int)Mapper.Instance().QueryForObject("ConvocatoriaJuntaSelectMaxCodigo",null);
        }
    }
}